package cn.lliiooll;

import org.bukkit.World;

import java.io.IOException;
import java.util.List;

public interface PTPData {

    /**
     *  获取这个点所在的世界
     * @return
     */
    World getWorld();

    /**
     *  获取这个点所在的X轴
     * @return
     */
    double getX();

    /**
     *  获取这个点所在的Y轴
     * @return
     */
    double getY();

    /**
     *  获取这个点所在的Z轴
     * @return
     */
    double getZ();

    /**
     *  获取这个点设置的视角
     * @return
     */
    float getPitch();

    /**
     *  获取这个点设置的视角
     * @return
     */
    float getYaw();

    /**
     *  获取这个玩家的所有点
     * @return
     */
    List<String> getAll();

    /**
     *  获取这个玩家是否有这个点
     * @return
     */
    boolean has();

    /**
     *  获取这个玩家是否有这个点
     * @return
     */
    boolean has(String name);

    /**
     *  获取这个玩家的点是否开放
     * @return
     */
    boolean isPublic();

    /**
     *  获取这个玩家的点是否开放
     * @return
     */
    boolean isPublic(String name);

    /**
     *  获取这个点
     * @param name
     */
    PTPData get(String name);

    void add(String name);

    void setWorld(World world);

    void setX(double x);

    void setY(double y);

    void setZ(double z);

    void setPitch(float pitch);

    void setYaw(float yaw);

    void setPublic(boolean pub);

    void saveData() throws IOException;

    void changeWorld(World world);

    void changeX(double x);

    void changeY(double y);

    void changeZ(double z);

    void changePitch(float pitch);

    void changeYaw(float yaw);

    void changePublic(boolean pub);

    void del(String name);



}
